package com.harmony.pilot.data.dto;

import lombok.Data;
import java.util.List;

/**
 * 符号查询请求
 */
@Data
public class SymbolQueryRequest {
    
    /**
     * 符号名称（支持部分匹配）
     */
    private String symbol;
    
    /**
     * 上下文信息
     */
    private Context context;
    
    /**
     * 符号类型过滤（可选）
     * 例如: ["Function", "Class"]
     */
    private List<String> types;
    
    /**
     * 最大结果数
     */
    private int maxResults = 20;
    
    /**
     * 是否包含位置信息
     */
    private boolean includeLocation = true;
    
    /**
     * 上下文信息
     */
    @Data
    public static class Context {
        /**
         * 当前文件路径
         */
        private String filePath;
        
        /**
         * 光标所在行
         */
        private Integer cursorLine;
        
        /**
         * 光标所在列
         */
        private Integer cursorColumn;
        
        /**
         * 当前文件内容（可选，用于上下文分析）
         */
        private String code;
    }
}

